#ifndef HEADER_H
#define HEADER_H

#include "common.h"

struct header
{
    uint32_t magic;
    uint32_t un1[14];
    ll_ptrs ll_x04;
    ll_ptrs ll_x06;
    ll_ptrs ll_x0C_2;
    ll_ptrs ll_x0E_x28;
    ll_ptrs ll_x14;
    ll_ptrs ll_x1B;
    ll_ptrs ll_x1C;
    ll_ptrs ll_x24_x28;
    ll_ptrs ll_unused_1;
    ll_ptrs ll_x2B;
    ll_ptrs ll_x03;
    ll_ptrs ll_x0A_2;
    ll_ptrs ll_x1D_x1E_x1F;
    ll_ptrs ll_unused_2;
    ll_ptrs ll_x38;
    ll_ptrs ll_x2C;
    ll_ptrs ll_x0C;
    ll_ptrs ll_unused_3;
    
    // Is there only ever one x35? This points to both the start and end?
    uint32_t x35_start;
    uint32_t x35_end;
    
    ll_ptrs ll_x36;
    ll_ptrs ll_x21;
    ll_ptrs ll_unused_4;
    ll_ptrs ll_x0A;
    uint32_t un5;
    char allegro_version[60];
};
// BOOST_FUSION_ADAPT_STRUCT(header, magic, un1, allegro_version);

#endif // HEADER_H
